package jnc;

import java.util.ArrayList;
import java.util.List;

import com.beust.jcommander.Parameter;

public class Parameters {
	/** Required parameters: FileName */
	@Parameter(description = "A white-space delimited file of BIT-scores from BLAST.  Three columns are expected, of the format:\n\n--------------------------------------\nseq_id_0   seq_id_1   bit_score\nseq_id_2   seq_id_3   bit_score\n....\n--------------------------------------\n\n No column heading should be provided.  Please refer to http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=handbook.section.614 for an explanation of BIT-score.")
	public List<String> files = new ArrayList<String>();
	
	/** Help. */
	@Parameter(names = {"-h", "--help"}, description = "Display help. To understand the options and input parameters, use help.")
	public Boolean help = false;
	
	/** Test and Simple Statistics only */
	@Parameter(names = {"-s","--sminfactor"}, description = "SMIN factor.  Calculate SMIN from the expected random BIT-score scaled by this factor. Defaults to 0.95.\n")
	public String smin_factor = "0.95";
	
	/** Test and Simple Statistics only */
	@Parameter(names = {"-n","--ncthresh"}, description = "NC reporting threshold. Calculated values below this threshold will not be reported. Conservatively defaults to 0.05.")
	public String nc_thresh = "0.05";

	/** Test and Simple Statistics only */
	@Parameter(names = {"-o","--outputname"}, description = "Write score output to a file.  If omitted, the score list is printed to stdout.")
	public String output_name = "stdout";

	/** Test and Simple Statistics only */
	@Parameter(names = {"-r","--numresidues"}, description = "Number of residues in the sequence database.  Used to calculate SMIN, the lowest expected bit_score.  If unspecified, an estimate of 537 residues per sequence will be used, which is an average of mouse and human SwissProt sequences.")
	public String num_residues = "537";	
}
